home *** CD-ROM | disk | FTP | other *** search
/ Enter 2005 October / enter-2005-10.iso / files / jedit42install.exe / {app} / modes / fortran.xml < prev    next >
Encoding:
Extensible Markup Language  |  2004-08-29  |  6.8 KB  |  248 lines

  1. <?xml version="1.0"?>
  2.  
  3. <!DOCTYPE MODE SYSTEM "xmode.dtd">
  4. <!--  FORTRAN edit mode
  5.       Version 1.1
  6.       April 21, 2002
  7. -->
  8. <!-- This is a mode for FORTRAN source files.  In general, this supports
  9. common features of the F90 specification.  This may however contain some
  10. platform or vendor specific keywords (in paticular COMPAQ(Digital) FORTRAN).
  11. -->
  12. <!-- Suggested catalog file entry:
  13.  
  14. <MODE NAME="FORTRAN"        FILE="FORTRAN.xml"
  15.                 FILE_NAME_GLOB="*.{f,for,fort,f77,f90}" />
  16.  -->
  17. <MODE>
  18.     <PROPS>
  19.          <PROPERTY NAME="blockComment" VALUE="C" />
  20.          <PROPERTY NAME="wordBreakChars" VALUE=",+-=<>/?^&*" />
  21.      <PROPERTY NAME="indentNextLine"
  22.             VALUE="\s*((if\s*\(.*\)\s*then|else\s*|do\s*)*)" />
  23.     </PROPS>
  24.  
  25.     <RULES IGNORE_CASE="TRUE" HIGHLIGHT_DIGITS="FALSE">
  26. <!-- In fixed form, column 72 is the last column parsed, unless the
  27. \extend_source option is invoked -->
  28.     <!-- TERMINATE AT_CHAR="72" / -->
  29.  
  30. <!-- comment either !, C, or * can be used as a comment in the first column
  31. in either free or fixed form FORTRAN-->
  32. <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">C</EOL_SPAN>
  33. <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">!</EOL_SPAN>
  34. <EOL_SPAN TYPE="COMMENT1" AT_LINE_START="TRUE">*</EOL_SPAN>
  35. <EOL_SPAN TYPE="COMMENT1">!</EOL_SPAN>
  36. <EOL_SPAN TYPE="COMMENT2" AT_LINE_START="TRUE">D</EOL_SPAN>
  37.  
  38.         <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">
  39.             <BEGIN>"</BEGIN>
  40.             <END>"</END>
  41.         </SPAN>
  42.         <SPAN TYPE="LITERAL1" NO_LINE_BREAK="FALSE">
  43.             <BEGIN>'</BEGIN>
  44.             <END>'</END>
  45.         </SPAN>
  46.  
  47. <!-- Highlighted Operators -->
  48.         <SEQ TYPE="OPERATOR"><=</SEQ>
  49.         <SEQ TYPE="OPERATOR">>=</SEQ>
  50.         <SEQ TYPE="OPERATOR">></SEQ>
  51.         <SEQ TYPE="OPERATOR"><</SEQ>
  52.         <SEQ TYPE="OPERATOR">&</SEQ>
  53.         <SEQ TYPE="OPERATOR">/=</SEQ>
  54.         <SEQ TYPE="OPERATOR">==</SEQ>
  55.         <SEQ TYPE="OPERATOR">.lt.</SEQ>
  56.         <SEQ TYPE="OPERATOR">.gt.</SEQ>
  57.         <SEQ TYPE="OPERATOR">.eq.</SEQ>
  58.         <SEQ TYPE="OPERATOR">.ne.</SEQ>
  59.         <SEQ TYPE="OPERATOR">.le.</SEQ>
  60.         <SEQ TYPE="OPERATOR">.ge.</SEQ>
  61.         <SEQ TYPE="OPERATOR">.AND.</SEQ>
  62.         <SEQ TYPE="OPERATOR">.OR.</SEQ>
  63.  
  64. <KEYWORDS>
  65. <!-- unclassified keywords -->
  66. <KEYWORD1>INCLUDE</KEYWORD1>
  67. <!-- Program units and calling them -->
  68. <KEYWORD1>PROGRAM</KEYWORD1>
  69. <KEYWORD1>MODULE</KEYWORD1>
  70. <KEYWORD1>SUBROUTINE</KEYWORD1>
  71. <KEYWORD1>FUNCTION</KEYWORD1>
  72. <KEYWORD1>CONTAINS</KEYWORD1>
  73. <KEYWORD1>USE</KEYWORD1>
  74. <KEYWORD1>CALL</KEYWORD1>
  75. <KEYWORD1>RETURN</KEYWORD1>
  76. <!-- data types, declaration, and allocation keywords -->
  77. <KEYWORD1>IMPLICIT</KEYWORD1>
  78. <KEYWORD1>EXPLICIT</KEYWORD1>
  79. <KEYWORD1>NONE</KEYWORD1>
  80. <KEYWORD1>DATA</KEYWORD1>
  81. <KEYWORD1>PARAMETER</KEYWORD1>
  82. <KEYWORD1>ALLOCATE</KEYWORD1>
  83. <KEYWORD1>ALLOCATABLE</KEYWORD1>
  84. <KEYWORD1>ALLOCATED</KEYWORD1>
  85. <KEYWORD1>DEALLOCATE</KEYWORD1>
  86. <KEYWORD1>INTEGER</KEYWORD1>
  87. <KEYWORD1>REAL</KEYWORD1>
  88. <KEYWORD1>DOUBLE</KEYWORD1>
  89. <KEYWORD1>PRECISION</KEYWORD1>
  90. <KEYWORD1>COMPLEX</KEYWORD1>
  91. <KEYWORD1>LOGICAL</KEYWORD1>
  92. <KEYWORD1>CHARACTER</KEYWORD1>
  93. <KEYWORD1>DIMENSION</KEYWORD1>
  94. <KEYWORD1>KIND</KEYWORD1>
  95. <!-- FORTRAN Statements -->
  96. <KEYWORD1>CASE</KEYWORD1>
  97. <KEYWORD1>SELECT</KEYWORD1>
  98. <KEYWORD1>DEFAULT</KEYWORD1>
  99. <KEYWORD1>CONTINUE</KEYWORD1>
  100. <KEYWORD1>CYCLE</KEYWORD1>
  101. <KEYWORD1>DO</KEYWORD1>
  102. <KEYWORD1>WHILE</KEYWORD1>
  103. <KEYWORD1>ELSE</KEYWORD1>
  104. <KEYWORD1>IF</KEYWORD1>
  105. <KEYWORD1>ELSEIF</KEYWORD1>
  106. <KEYWORD1>THEN</KEYWORD1>
  107. <KEYWORD1>ELSEWHERE</KEYWORD1>
  108. <KEYWORD1>END</KEYWORD1>
  109. <KEYWORD1>ENDIF</KEYWORD1>
  110. <KEYWORD1>ENDDO</KEYWORD1>
  111. <KEYWORD1>FORALL</KEYWORD1>
  112. <KEYWORD1>WHERE</KEYWORD1>
  113. <KEYWORD1>EXIT</KEYWORD1>
  114. <KEYWORD1>GOTO</KEYWORD1>
  115. <KEYWORD1>PAUSE</KEYWORD1>
  116. <KEYWORD1>STOP</KEYWORD1>
  117. <!-- i/o keywords -->
  118. <KEYWORD1>BACKSPACE</KEYWORD1>
  119. <KEYWORD1>CLOSE</KEYWORD1>
  120. <KEYWORD1>ENDFILE</KEYWORD1>
  121. <KEYWORD1>INQUIRE</KEYWORD1>
  122. <KEYWORD1>OPEN</KEYWORD1>
  123. <KEYWORD1>PRINT</KEYWORD1>
  124. <KEYWORD1>READ</KEYWORD1>
  125. <KEYWORD1>REWIND</KEYWORD1>
  126. <KEYWORD1>WRITE</KEYWORD1>
  127. <KEYWORD1>FORMAT</KEYWORD1>
  128. <!-- Type conversion and utility functions -->
  129. <KEYWORD1>AIMAG</KEYWORD1>
  130. <KEYWORD1>AINT</KEYWORD1>
  131. <KEYWORD1>AMAX0</KEYWORD1>
  132. <KEYWORD1>AMIN0</KEYWORD1>
  133. <KEYWORD1>ANINT</KEYWORD1>
  134. <KEYWORD1>CEILING</KEYWORD1>
  135. <KEYWORD1>CMPLX</KEYWORD1>
  136. <KEYWORD1>CONJG</KEYWORD1>
  137. <KEYWORD1>DBLE</KEYWORD1>
  138. <KEYWORD1>DCMPLX</KEYWORD1>
  139. <KEYWORD1>DFLOAT</KEYWORD1>
  140. <KEYWORD1>DIM</KEYWORD1>
  141. <KEYWORD1>DPROD</KEYWORD1>
  142. <KEYWORD1>FLOAT</KEYWORD1>
  143. <KEYWORD1>FLOOR</KEYWORD1>
  144. <KEYWORD1>IFIX</KEYWORD1>
  145. <KEYWORD1>IMAG</KEYWORD1>
  146. <KEYWORD1>INT</KEYWORD1>
  147. <KEYWORD1>LOGICAL</KEYWORD1>
  148. <KEYWORD1>MODULO</KEYWORD1>
  149. <KEYWORD1>NINT</KEYWORD1>
  150. <KEYWORD1>REAL</KEYWORD1>
  151. <KEYWORD1>SIGN</KEYWORD1>
  152. <KEYWORD1>SNGL</KEYWORD1>
  153. <KEYWORD1>TRANSFER</KEYWORD1>
  154. <KEYWORD1>ZEXT</KEYWORD1>
  155. <!-- More Functions -->
  156. <KEYWORD1>ABS</KEYWORD1>
  157. <KEYWORD1>ACOS</KEYWORD1>
  158. <KEYWORD1>AIMAG</KEYWORD1>
  159. <KEYWORD1>AINT</KEYWORD1>
  160. <KEYWORD1>ALOG</KEYWORD1>
  161. <KEYWORD1>ALOG10</KEYWORD1>
  162. <KEYWORD1>AMAX0</KEYWORD1>
  163. <KEYWORD1>AMAX1</KEYWORD1>
  164. <KEYWORD1>AMIN0</KEYWORD1>
  165. <KEYWORD1>AMIN1</KEYWORD1>
  166. <KEYWORD1>AMOD</KEYWORD1>
  167. <KEYWORD1>ANINT</KEYWORD1>
  168. <KEYWORD1>ASIN</KEYWORD1>
  169. <KEYWORD1>ATAN</KEYWORD1>
  170. <KEYWORD1>ATAN2</KEYWORD1>
  171. <KEYWORD1>CABS</KEYWORD1>
  172. <KEYWORD1>CCOS</KEYWORD1>
  173. <KEYWORD1>CHAR</KEYWORD1>
  174. <KEYWORD1>CLOG</KEYWORD1>
  175. <KEYWORD1>CMPLX</KEYWORD1>
  176. <KEYWORD1>CONJG</KEYWORD1>
  177. <KEYWORD1>COS</KEYWORD1>
  178. <KEYWORD1>COSH</KEYWORD1>
  179. <KEYWORD1>CSIN</KEYWORD1>
  180. <KEYWORD1>CSQRT</KEYWORD1>
  181. <KEYWORD1>DABS</KEYWORD1>
  182. <KEYWORD1>DACOS</KEYWORD1>
  183. <KEYWORD1>DASIN</KEYWORD1>
  184. <KEYWORD1>DATAN</KEYWORD1>
  185. <KEYWORD1>DATAN2</KEYWORD1>
  186. <KEYWORD1>DBLE</KEYWORD1>
  187. <KEYWORD1>DCOS</KEYWORD1>
  188. <KEYWORD1>DCOSH</KEYWORD1>
  189. <KEYWORD1>DDIM</KEYWORD1>
  190. <KEYWORD1>DEXP</KEYWORD1>
  191. <KEYWORD1>DIM</KEYWORD1>
  192. <KEYWORD1>DINT</KEYWORD1>
  193. <KEYWORD1>DLOG</KEYWORD1>
  194. <KEYWORD1>DLOG10</KEYWORD1>
  195. <KEYWORD1>DMAX1</KEYWORD1>
  196. <KEYWORD1>DMIN1</KEYWORD1>
  197. <KEYWORD1>DMOD</KEYWORD1>
  198. <KEYWORD1>DNINT</KEYWORD1>
  199. <KEYWORD1>DPROD</KEYWORD1>
  200. <KEYWORD1>DREAL</KEYWORD1>
  201. <KEYWORD1>DSIGN</KEYWORD1>
  202. <KEYWORD1>DSIN</KEYWORD1>
  203. <KEYWORD1>DSINH</KEYWORD1>
  204. <KEYWORD1>DSQRT</KEYWORD1>
  205. <KEYWORD1>DTAN</KEYWORD1>
  206. <KEYWORD1>DTANH</KEYWORD1>
  207. <KEYWORD1>EXP</KEYWORD1>
  208. <KEYWORD1>FLOAT</KEYWORD1>
  209. <KEYWORD1>IABS</KEYWORD1>
  210. <KEYWORD1>ICHAR</KEYWORD1>
  211. <KEYWORD1>IDIM</KEYWORD1>
  212. <KEYWORD1>IDINT</KEYWORD1>
  213. <KEYWORD1>IDNINT</KEYWORD1>
  214. <KEYWORD1>IFIX</KEYWORD1>
  215. <KEYWORD1>INDEX</KEYWORD1>
  216. <KEYWORD1>INT</KEYWORD1>
  217. <KEYWORD1>ISIGN</KEYWORD1>
  218. <KEYWORD1>LEN</KEYWORD1>
  219. <KEYWORD1>LGE</KEYWORD1>
  220. <KEYWORD1>LGT</KEYWORD1>
  221. <KEYWORD1>LLE</KEYWORD1>
  222. <KEYWORD1>LLT</KEYWORD1>
  223. <KEYWORD1>LOG</KEYWORD1>
  224. <KEYWORD1>LOG10</KEYWORD1>
  225. <KEYWORD1>MAX</KEYWORD1>
  226. <KEYWORD1>MAX0</KEYWORD1>
  227. <KEYWORD1>MAX1</KEYWORD1>
  228. <KEYWORD1>MIN</KEYWORD1>
  229. <KEYWORD1>MIN0</KEYWORD1>
  230. <KEYWORD1>MIN1</KEYWORD1>
  231. <KEYWORD1>MOD</KEYWORD1>
  232. <KEYWORD1>NINT</KEYWORD1>
  233. <KEYWORD1>REAL</KEYWORD1>
  234. <KEYWORD1>SIGN</KEYWORD1>
  235. <KEYWORD1>SIN</KEYWORD1>
  236. <KEYWORD1>SINH</KEYWORD1>
  237. <KEYWORD1>SNGL</KEYWORD1>
  238. <KEYWORD1>SQRT</KEYWORD1>
  239. <KEYWORD1>TAN</KEYWORD1>
  240. <KEYWORD1>TANH</KEYWORD1>
  241. <!-- logical values -->
  242. <KEYWORD1>.false.</KEYWORD1>
  243. <KEYWORD1>.true.</KEYWORD1>
  244.  
  245. </KEYWORDS>
  246.     </RULES>
  247. </MODE>
  248.